from file_system import FileSystem

def create_file(file_name, file_system):
    file_index = hash(file_name) % file_system.num_blocks
    free_block = file_system.find_free_block()
    if free_block == -1:
        print("没有足够的空闲空间来创建文件！")
        return

    file_system.allocate_block(free_block)
    file_system.fat_table[file_index] = free_block
    print(f"文件 {file_name} 创建成功！")

def delete_file(file_name, file_system):
    file_index = hash(file_name) % file_system.num_blocks
    block_index = file_system.fat_table[file_index]
    if block_index == -1:
        print(f"文件 {file_name} 不存在！")
        return

    file_system.deallocate_block(block_index)
    file_system.fat_table[file_index] = -1
    print(f"文件 {file_name} 删除成功！")

def show_file_content(file_name, file_system):
    file_index = hash(file_name) % file_system.num_blocks
    block_index = file_system.fat_table[file_index]
    if block_index == -1:
        print(f"文件 {file_name} 不存在！")
        return

    data = file_system.read_block(block_index)
    print(f"文件 {file_name} 内容:\n{data.decode()}")

def write_to_file(file_name, text, file_system):
    file_index = hash(file_name) % file_system.num_blocks
    block_index = file_system.fat_table[file_index]
    if block_index == -1:
        print(f"文件 {file_name} 不存在！")
        return

    file_system.write_block(block_index, text.encode())
    print(f"文本已写入文件 {file_name}！")
